Cross-Module Analysis (CMA)
With C and C++, source files can be compiled independently of one another. A source file will include header files to ensure that all the necessary information for compilation is available, without needing to look at other source files. A source file together with its included header files is called a translation unit. Just like the compiler, Helix QAC for C and Helix QAC for C++ analyze one translation unit at a time.
While single file analysis can provide most of the required diagnostics, some additional checks necessitate the files being considered together. These checks include finding duplicate or conflicting declarations; finding unused code; reporting on potential name confusion; and detection of recursion. This type of analysis is what is meant by CMA. A component called RCMA can be used to carry out these checks (refer to Analyzing Your Project). Just like a linker within a build, RCMA will operate on all the files within a Helix QAC project.